package com.edu.d5_tcp2;
import java.io.DataOutputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;
/**
 * 客户端实现TCP通信，实现1一发一收，仅单个客户端
 */
public class Client {
    public static void main(String[] args) throws Exception {
        /**
         * 1、创建Socket对象，并同时请求与服务端程序的连接
         * 这里这个端口号指的是，服务端的端口号·
         */
        Socket socket = new Socket("127.0.0.1", 8888);
        /**
         * 2、从Socket管道中，得到一个字节输出流，用来发数据给服务端程序
         */
        OutputStream os = socket.getOutputStream();
        /**
         * 3、把低级的字节输出流，包装成数据输出流
         */
        DataOutputStream dataOutputStream = new DataOutputStream(os);
        Scanner scanner = new Scanner(System.in);
        while (true) {
            /**
             * 4、开始写数据出去了
             */
            System.out.println("请说：");//韭菜
            String s = scanner.nextLine();
            //一旦用户输入了exit，就退出发送
            if("exit".equals(s)){
                System.out.println("退出成功，欢迎下次光临！！");
                dataOutputStream.close();
                socket.close();//释放资源
                break;//跳出死循环
            }
            dataOutputStream.writeUTF(s);
            dataOutputStream.flush();
        }
    }
}
